﻿//------------------------------------------------------------------------------
// ╭─────────────────────────────╮
// │ ╭─╮     ╭─╮              TM │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// │ │ │     │ │                 │                                           ☺      
// │ │ ╰───╮ │ │ ╭─────╮ ╭─────╮ │     Name:Wedn.Net Term管理类拓展接口   ♮ ♪ ♩
// │ │ ╭─╮ │ │ │ │ ╭─╮ │ │ ╭─╮ │ │                                    ♫ ♭      
// │ │ ╰─╯ │ │ │ │ ╰─╯ │ │ ╰─╯ │ │     Author:iceStone               ♬ ♪       
// │ └─────╯ └─╯ ╰─────╯ ╰───╮ │ │     Chinese:汪磊                              
// │                     ┌───╯ │ │                                              
// │                     ╰─────╯ │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// ╰─────────────────────────────╯                                              
//------------------------------------------------------------------------------
using System.Collections.Generic;
using Wedn.Net.Model;

namespace Wedn.Net.IBLL
{
    /// <summary>
    /// Term管理类接口 ITermManager
    /// </summary>
    public partial interface ITermManager
    {
        /// <summary>
        /// 获取当前标签在指定标签集合中的等级
        /// </summary>
        /// <param name="list">标签集合</param>
        /// <param name="entity">当前标签对象</param>
        /// <returns>等级</returns>
        int GetTermLevel(IList<Term> list, Term entity);
        /// <summary>
        /// 加载层级关系的类别集合
        /// </summary>
        /// <param name="list">原类别集合</param>
        /// <param name="categorys">返回新的集合</param>
        /// <param name="mark">标记</param>
        /// <param name="parentId">父ID 传 0</param>
        void LoadTierCategoryList(IList<Term> list, IList<Term> categorys, string mark, int parentId);
        /// <summary>
        /// 获取一个类别集合其中一个类别的所有子类别集合
        /// </summary>
        /// <param name="categorys">类别集合</param>
        /// <param name="categoryId">当前类别Id</param>
        /// <returns>子类别集合</returns>
        IList<Term> GetSubCategorys(IList<Term> categorys, int categoryId);
    }
}
